home *** CD-ROM | disk | FTP | other *** search
-
- ilbm.datatype for PPC (WarpUP)
- © 2001-2004 by Stephan Rupprecht
- All rights reserved.
-
-
- COPYRIGHT AND DISCLAIMER
- ilbm.datatype PPC is copyrighted 2001-2004 by Stephan Rupprecht.
- All rights reserved. This program is freeware, so no financial
- donations required. Redistribution allowed if the package is
- left unchanged. The author is not responsible for any damage
- caused by the use or misuse of this documentation and/or the
- program(s) it describes.
-
- All mentioned trademarks are subject to their respective owners.
-
-
- REQUIREMENTS
- - Any Amiga® (compatible) computer with at least OS3.0.
- - PPC603 or better, running WarpUP v4/5 (5.1 strongly recommend).
- - at least picture.datatype v43
- - recommend: cgx or p96 with Planes2Fast option activated
- (important for speed).
- - some megabytes of free memory, an 1024x768x24 ilbm picture
- requires around 3.5mb of memory (the datatype always loads the
- whole picture into memory before decoding, the "load memory"
- will be released after decoding. This is more efficient as it
- reduces the number of context-switches)!
-
-
- DESCRIPTION
- This an ilbm.datatype for the PPC processor running WarpUP v4
- or v5. For a maximum of speed your system should be equipped with
- an rtg software that supports planar bitmaps in fastram, fblit
- also works.
-
-
- BENCHMARKS
- Here's what PicBench measures. Thanks to Denis Zwornarz for sending the
- results to me. Config: A4000/060/50MHz/604e/233MHz, OS3.5, WarpUp 5
-
- Resolution |Filesize|68k ilbm.datatype(44.24)|PPC ilbm.datatype(45.2)| %
- -----------+--------+------------------------+-----------------------+----
- 320x256x8 | 70602 |0.0603 sec. |0.0538 sec. |112%
- 232x745x24 | 453184 |0.3602 sec. |0.2427 sec. |148%
- 640x480x8 | 37338 |0.0580 sec. |0.0354 sec. |163%
- 640x512x8 | 188956 |0.0976 sec. |0.0513 sec. |190%
- 1280x1800x8|1157464 |0.4618 sec. |0.1545 sec. |298%
- Avg.182%
-
- Here're the results of a test I did. The ILBM sample files from the ADevCD
- were taken for testing. Config: A4000/040/40MHz/604e/200MHz, SysClock: 60MHz,
- OS3.9, WarpUp 5.1, planes in fastram
-
- Resolution |Filesize|68k ilbm.datatype(44.25)|PPC ilbm.datatype(45.5)| %
- -----------+--------+------------------------+-----------------------+----
- 320x200x5 | 12930|0.0632 sec. |0.0572 sec. |110%
- 1024x1024x4| 311868|0.1870 sec. |0.0762 sec. |245%
- 716x580x24 | 504876|1.3662 sec. |0.3119 sec. |438%
- 256x256x8 | 26516|0.0616 sec. |0.0339 sec. |182%
- 736x482x1 | 6906|0.0446 sec. |0.0481 sec. | 92%
- 404x400x8 | 108628|0.0884 sec. |0.0518 sec. |170%
- 16x16x8 | 1300|0.0045 sec. |0.0287 sec. | 15%
- Avg.178%
-
- As you can see, the larger the picture the better the result. Very small
- images are a problem because the contextswitches take longer than image
- decoding. Compared to the ilbm.datatype of OS3.5+ the difference would be
- even greater.
-
-
- INSTALLATION
- Just 'Copy ilbm.datatype TO SYS:classes/datatypes/'.
-
-
- USAGE
- There's no difference in using my ilbmdt and the original one. You can
- configure the datatype by placing desired options in an environment variable
- called 'classes/datatypes/ilbm.datatype'. Please use SetEnv (global) or Set
- (local) to create the variable. To make the changes permanent, you have to
- copy the variable from env to envarc.
-
- The preferences template is:
- HAM2TC/S,NOEHB/S,TC2HAM/S,DD=DONTDITHER/S,RTG=RTGMODE/S,CM=CHUNKYMODE/S
-
- HAM2TC/S: convert HAM images to truecolor (useful for gfxboard users).
-
- NOEHB/S: convert EHB images, so that they can be displayed on RTG
- (cgx/p96) screens.
-
- TC2HAM: convert truecolor images to HAM (useful for OCS/ECS/AGA users).
-
- DD=DONTDITHER/S: disable dithering on 15+ screens and pictdt v44+.
-
- RTG=RTGMODE/S: forces the datatype to allocate bitmaps in fastram
- even when your system does seem to support this. If you have
- FBlit by Stephen Brookes installed, you can turn on this option
- although I cannot guarantee that it works with every application.
-
- CM=CHUNKYMODE/S: by default the datatype writes the imagedata
- of <= 8bit images directly into a bitmap. When this switch is
- enabled the planar data will be converted to chunky data instead,
- this decreases the decoding speed but allows the picture.datatype
- to remap images faster (because the planar to chunky conversion
- has been done by the PPC already). CHUNKYMODE is turned on by
- default when the cgx pictdt is installed, this works around a bug
- of the cgx datatype.
-
-
- KNOWN PROBLEMS
- PlayCD crashs on startup: This is bug in WarpOS which expects that a
- cli process has a commandname, this is not the case for the PlayCD
- anim server. I've included a patch for the PlayCD 45.7 binary that
- will fix this problem. Simply run it from a shell, you don't need
- to give any options as long as PlayCD is located in SYS:Utilities.
- The next release of PlayCD (and WarpOS) won't need this patch. Thanks
- to Oliver Roberts for tracking down the problem.
-
- RainBoot or AWeb crashs: Two users have reported this problem, I'm
- not able to reproduce it but I guess this could be a stack
- problem. One user reported me that some strange crashes disappeared
- after he has updated to WarpUP 5.1.
-
-
- SPECIAL THANKS GO TO
- Oliver Roberts and Hubert Maier jun. for their help.
- Dámaso D. Estévez for the spanish translation.
-
-
- HISTORY
- 45.1 first public release
- 45.2 decoding of truecolor images with a masking plane didn't work
- correctly. added a workaround for a bug in picture.datatype
- v43 (cgx version), I hope this doesn't break with other
- picture.datatypes.
- 45.3 doing longwrites to odd address produces pixel garbage on some
- ppc boards (probably first series boards), because of this I
- disabled the longwrites. Did some cleanups to the source.
- 45.3a included spanish documentation by Damaso Dominguez.
- 45.3b included a patch for PlayCD 45.7 that fixes the "crash on startup"
- problem. Simply run the PlayCdPatch binary to fix this problem.
- 45.4 wrote my first PPC assembler program:) The planar2chunky
- routine used for decoding 24bit images is written in assembler,
- now. This gives a speedup of ~40%. Enabled the preferences system.
- 45.5 speeded up p2c code a bit. Ooops! The TC2HAM mode always wrote
- to 8 bitplanes, this crashed badly on ECS machines (only 6
- planes available). Added RTGMODE switch.
- 45.6 added CHUNKYMODE switch for faster remapping, it also allows
- to use the cgx pictdt.
- 45.7 now supports CMYK ILBMs produced by BME <Jan-Erik Karlsson>.
- 45.8 made it possible to load ilbms produced by fxPaint (FORM
- contains wrong size) <Robin>.
- 45.9 because of the 45.7 change, BW and greyscale images couldn't
- be loaded anymore (greyscale didn't even work before;). Found
- out that the OS picture.datatype doesn't treat HAM and EHB
- images passed as chunkydata right. Added a workaround for that.
- 45.10 internal version.
- 45.11 fixed decoding of truecolor images with alpha. Thanks to Jan-Erik
- Karlsson for reporting the bug and sending a sample image.
-
-
- AUTHOR
-
- Please send bug reports and ideas to:
-
- Stephan Rupprecht
- Apfeldweg 1
- D44359 Dortmund
- Germany
-
- Send emails to
-
- info@stephan-rupprecht.de
-
- WWW
- http://stephan-rupprecht.de
-